package response

// QueryCommentCResponse c端查询评论列表的接口
type QueryCommentCResponse struct {
	Total    int64        `json:"total"`
	Comments []CommentCVO `json:"comments"`
}

// CommentCVO c端评论的vo结构体
type CommentCVO struct {
	CommentID       uint   `json:"comment_id"`        // 评论id
	AnswerCommentID int64  `json:"answer_comment_id"` // 回复评论id
	ParentCommentID int64  `json:"parent_comment_id"` // 父评论id
	PublisherID     uint   `json:"publisher_id"`      // 发布者id
	PublisherName   string `json:"publisher_name"`    // 发布者昵称
	PublisherImage  string `json:"publisher_image"`   // 发布者头像
	CommentText     string `json:"comment_text"`      // 评论正文
	CreateTime      int64  `json:"create_time"`       // 发布时间（时间戳，单位s）
	Likes           int    `json:"likes"`             // 点赞数
	Dislikes        int    `json:"dislikes"`          // 点踩数
	Marks           int    `json:"marks"`             // 收藏数
	Shares          int    `json:"shares"`            // 分享数
	ChildComments   int64  `json:"child_comments"`    // 子评论数
}

// CommentUserActionResponse 查询用户评论操作记录返回结果
type CommentUserActionResponse struct {
	Total    int64                 `json:"total"`
	Comments []CommentUserActionVO `json:"comments"`
}

// CommentUserActionVO 用户评论操作记录vo对象
type CommentUserActionVO struct {
	ContentID    uint   `json:"content_id"`    // 评论所属内容id
	ContentType  int    `json:"content_type"`  // 内容类型
	ContentTitle string `json:"content_title"` // 内容标题

	AnswerCommentID            uint   `json:"answer_comment_id"`             // 回复评论id
	AnswerCommentText          string `json:"answer_comment_text"`           // 回复评论内容
	AnswerCommentPublisherName string `json:"answer_comment_publisher_name"` // 回复评论发布者昵称
	AnswerCommentPublisherID   uint   `json:"answer_comment_publisher_id"`   // 回复评论发布者用户id
	AnswerCommentStatus        int    `json:"answer_comment_status"`         // 回复评论状态

	// 若comment_id为一级评论，则其上一级的回复评论相关字段都为默认值
	CommentID     uint   `json:"comment_id"`     // 评论id
	CommentText   string `json:"comment_text"`   // 评论内容
	PublisherID   uint   `json:"publisher_id"`   // 发布者id
	PublisherName string `json:"publisher_name"` // 发布者昵称
	PublishTime   int64  `json:"publish_time"`   // 评论发布时间（时间戳，单位：秒）
	CommentStatus int    `json:"comment_status"` // 评论状态

	ActionTime int64 `json:"action_time"` // 操作时间（时间戳，单位：秒）
}
